#include "common.h"

#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     b2FrictionJoint
 * Method:    jniLocalAnchorA
 * Signature: (I)I
 */
JNIEXPORT jint JNICALL Java_b2FrictionJoint_jniLocalAnchorA
  (JNIEnv *env, jclass cls, jint addr)
{
	b2FrictionJoint* joint = (b2FrictionJoint*)addr;
	return (jint)(&(joint->GetLocalAnchorA()));
}

/*
 * Class:     b2FrictionJoint
 * Method:    jniLocalAnchorB
 * Signature: (I)I
 */
JNIEXPORT jint JNICALL Java_b2FrictionJoint_jniLocalAnchorB
  (JNIEnv *env, jclass cls, jint addr)
{
	b2FrictionJoint* joint = (b2FrictionJoint*)addr;
	return (jint)(&(joint->GetLocalAnchorB()));
}

/*
 * Class:     b2FrictionJoint
 * Method:    jniGetReactionForce
 * Signature: (IF)I
 */
JNIEXPORT jint JNICALL Java_b2FrictionJoint_jniGetReactionForce
  (JNIEnv *env, jclass cls, jint addr, jfloat inv_dt)
{
	b2FrictionJoint* joint = (b2FrictionJoint*)addr;
	b2Vec2* vector = new b2Vec2();
	*vector = joint->GetReactionForce(inv_dt);
	return (jint)vector;
}

/*
 * Class:     b2FrictionJoint
 * Method:    jniGetReactionTorque
 * Signature: (IF)F
 */
JNIEXPORT jfloat JNICALL Java_b2FrictionJoint_jniGetReactionTorque
  (JNIEnv *env, jclass cls, jint addr, jfloat inv_dt)
{
	b2FrictionJoint* joint = (b2FrictionJoint*)addr;
	return joint->GetReactionTorque(inv_dt);
}

/*
 * Class:     b2FrictionJoint
 * Method:    jniSetMaxForce
 * Signature: (IF)V
 */
JNIEXPORT void JNICALL Java_b2FrictionJoint_jniSetMaxForce
  (JNIEnv *env, jclass cls, jint addr, jfloat force)
{
	b2FrictionJoint* joint = (b2FrictionJoint*)addr;
	joint->SetMaxForce(force);
}

/*
 * Class:     b2FrictionJoint
 * Method:    jniSetMaxTorque
 * Signature: (IF)V
 */
JNIEXPORT void JNICALL Java_b2FrictionJoint_jniSetMaxTorque
  (JNIEnv *env, jclass cls, jint addr, jfloat)
{
	b2FrictionJoint* joint = (b2FrictionJoint*)addr;
	joint->SetMaxTorque(torque);
}

#ifdef __cplusplus
}
#endif
